package dcc.mbg.model;

import java.util.ArrayList;
import java.util.List;

public class BaseInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BaseInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoIsNull() {
            addCriterion("SHI_BIE_HAO is null");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoIsNotNull() {
            addCriterion("SHI_BIE_HAO is not null");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoEqualTo(String value) {
            addCriterion("SHI_BIE_HAO =", value, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoNotEqualTo(String value) {
            addCriterion("SHI_BIE_HAO <>", value, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoGreaterThan(String value) {
            addCriterion("SHI_BIE_HAO >", value, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoGreaterThanOrEqualTo(String value) {
            addCriterion("SHI_BIE_HAO >=", value, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoLessThan(String value) {
            addCriterion("SHI_BIE_HAO <", value, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoLessThanOrEqualTo(String value) {
            addCriterion("SHI_BIE_HAO <=", value, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoLike(String value) {
            addCriterion("SHI_BIE_HAO like", value, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoNotLike(String value) {
            addCriterion("SHI_BIE_HAO not like", value, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoIn(List<String> values) {
            addCriterion("SHI_BIE_HAO in", values, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoNotIn(List<String> values) {
            addCriterion("SHI_BIE_HAO not in", values, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoBetween(String value1, String value2) {
            addCriterion("SHI_BIE_HAO between", value1, value2, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andShiBieHaoNotBetween(String value1, String value2) {
            addCriterion("SHI_BIE_HAO not between", value1, value2, "shiBieHao");
            return (Criteria) this;
        }

        public Criteria andLeiBieIsNull() {
            addCriterion("LEI_BIE is null");
            return (Criteria) this;
        }

        public Criteria andLeiBieIsNotNull() {
            addCriterion("LEI_BIE is not null");
            return (Criteria) this;
        }

        public Criteria andLeiBieEqualTo(String value) {
            addCriterion("LEI_BIE =", value, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieNotEqualTo(String value) {
            addCriterion("LEI_BIE <>", value, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieGreaterThan(String value) {
            addCriterion("LEI_BIE >", value, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieGreaterThanOrEqualTo(String value) {
            addCriterion("LEI_BIE >=", value, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieLessThan(String value) {
            addCriterion("LEI_BIE <", value, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieLessThanOrEqualTo(String value) {
            addCriterion("LEI_BIE <=", value, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieLike(String value) {
            addCriterion("LEI_BIE like", value, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieNotLike(String value) {
            addCriterion("LEI_BIE not like", value, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieIn(List<String> values) {
            addCriterion("LEI_BIE in", values, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieNotIn(List<String> values) {
            addCriterion("LEI_BIE not in", values, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieBetween(String value1, String value2) {
            addCriterion("LEI_BIE between", value1, value2, "leiBie");
            return (Criteria) this;
        }

        public Criteria andLeiBieNotBetween(String value1, String value2) {
            addCriterion("LEI_BIE not between", value1, value2, "leiBie");
            return (Criteria) this;
        }

        public Criteria andXingMingIsNull() {
            addCriterion("XING_MING is null");
            return (Criteria) this;
        }

        public Criteria andXingMingIsNotNull() {
            addCriterion("XING_MING is not null");
            return (Criteria) this;
        }

        public Criteria andXingMingEqualTo(String value) {
            addCriterion("XING_MING =", value, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingNotEqualTo(String value) {
            addCriterion("XING_MING <>", value, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingGreaterThan(String value) {
            addCriterion("XING_MING >", value, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingGreaterThanOrEqualTo(String value) {
            addCriterion("XING_MING >=", value, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingLessThan(String value) {
            addCriterion("XING_MING <", value, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingLessThanOrEqualTo(String value) {
            addCriterion("XING_MING <=", value, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingLike(String value) {
            addCriterion("XING_MING like", value, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingNotLike(String value) {
            addCriterion("XING_MING not like", value, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingIn(List<String> values) {
            addCriterion("XING_MING in", values, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingNotIn(List<String> values) {
            addCriterion("XING_MING not in", values, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingBetween(String value1, String value2) {
            addCriterion("XING_MING between", value1, value2, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingMingNotBetween(String value1, String value2) {
            addCriterion("XING_MING not between", value1, value2, "xingMing");
            return (Criteria) this;
        }

        public Criteria andXingBieIsNull() {
            addCriterion("XING_BIE is null");
            return (Criteria) this;
        }

        public Criteria andXingBieIsNotNull() {
            addCriterion("XING_BIE is not null");
            return (Criteria) this;
        }

        public Criteria andXingBieEqualTo(String value) {
            addCriterion("XING_BIE =", value, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieNotEqualTo(String value) {
            addCriterion("XING_BIE <>", value, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieGreaterThan(String value) {
            addCriterion("XING_BIE >", value, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieGreaterThanOrEqualTo(String value) {
            addCriterion("XING_BIE >=", value, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieLessThan(String value) {
            addCriterion("XING_BIE <", value, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieLessThanOrEqualTo(String value) {
            addCriterion("XING_BIE <=", value, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieLike(String value) {
            addCriterion("XING_BIE like", value, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieNotLike(String value) {
            addCriterion("XING_BIE not like", value, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieIn(List<String> values) {
            addCriterion("XING_BIE in", values, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieNotIn(List<String> values) {
            addCriterion("XING_BIE not in", values, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieBetween(String value1, String value2) {
            addCriterion("XING_BIE between", value1, value2, "xingBie");
            return (Criteria) this;
        }

        public Criteria andXingBieNotBetween(String value1, String value2) {
            addCriterion("XING_BIE not between", value1, value2, "xingBie");
            return (Criteria) this;
        }

        public Criteria andZhaoPianIsNull() {
            addCriterion("ZHAO_PIAN is null");
            return (Criteria) this;
        }

        public Criteria andZhaoPianIsNotNull() {
            addCriterion("ZHAO_PIAN is not null");
            return (Criteria) this;
        }

        public Criteria andZhaoPianEqualTo(String value) {
            addCriterion("ZHAO_PIAN =", value, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianNotEqualTo(String value) {
            addCriterion("ZHAO_PIAN <>", value, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianGreaterThan(String value) {
            addCriterion("ZHAO_PIAN >", value, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianGreaterThanOrEqualTo(String value) {
            addCriterion("ZHAO_PIAN >=", value, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianLessThan(String value) {
            addCriterion("ZHAO_PIAN <", value, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianLessThanOrEqualTo(String value) {
            addCriterion("ZHAO_PIAN <=", value, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianLike(String value) {
            addCriterion("ZHAO_PIAN like", value, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianNotLike(String value) {
            addCriterion("ZHAO_PIAN not like", value, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianIn(List<String> values) {
            addCriterion("ZHAO_PIAN in", values, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianNotIn(List<String> values) {
            addCriterion("ZHAO_PIAN not in", values, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianBetween(String value1, String value2) {
            addCriterion("ZHAO_PIAN between", value1, value2, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andZhaoPianNotBetween(String value1, String value2) {
            addCriterion("ZHAO_PIAN not between", value1, value2, "zhaoPian");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("CREATE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("CREATE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(String value) {
            addCriterion("CREATE_TIME =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(String value) {
            addCriterion("CREATE_TIME <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(String value) {
            addCriterion("CREATE_TIME >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(String value) {
            addCriterion("CREATE_TIME >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(String value) {
            addCriterion("CREATE_TIME <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(String value) {
            addCriterion("CREATE_TIME <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLike(String value) {
            addCriterion("CREATE_TIME like", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotLike(String value) {
            addCriterion("CREATE_TIME not like", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<String> values) {
            addCriterion("CREATE_TIME in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<String> values) {
            addCriterion("CREATE_TIME not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(String value1, String value2) {
            addCriterion("CREATE_TIME between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(String value1, String value2) {
            addCriterion("CREATE_TIME not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andInputterIsNull() {
            addCriterion("INPUTTER is null");
            return (Criteria) this;
        }

        public Criteria andInputterIsNotNull() {
            addCriterion("INPUTTER is not null");
            return (Criteria) this;
        }

        public Criteria andInputterEqualTo(String value) {
            addCriterion("INPUTTER =", value, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterNotEqualTo(String value) {
            addCriterion("INPUTTER <>", value, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterGreaterThan(String value) {
            addCriterion("INPUTTER >", value, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterGreaterThanOrEqualTo(String value) {
            addCriterion("INPUTTER >=", value, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterLessThan(String value) {
            addCriterion("INPUTTER <", value, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterLessThanOrEqualTo(String value) {
            addCriterion("INPUTTER <=", value, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterLike(String value) {
            addCriterion("INPUTTER like", value, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterNotLike(String value) {
            addCriterion("INPUTTER not like", value, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterIn(List<String> values) {
            addCriterion("INPUTTER in", values, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterNotIn(List<String> values) {
            addCriterion("INPUTTER not in", values, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterBetween(String value1, String value2) {
            addCriterion("INPUTTER between", value1, value2, "inputter");
            return (Criteria) this;
        }

        public Criteria andInputterNotBetween(String value1, String value2) {
            addCriterion("INPUTTER not between", value1, value2, "inputter");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}